<?php
abstract class CargaMasivaParser extends CApplicationComponent {
		
	var  $archivo;
	var $path_archivo;
	
	abstract  public function parse();
	abstract public function validarArchivo();
	
	function __construct($path_archivo){
		$this->path_archivo=$path_archivo;	
		$this->archivo=$this->cargarArchivo($path_archivo);	
	}
	
	public  function cargarArchivo($path){
		$this->prepararCarga();
		$inputFileName = $path;
		$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
		$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
		$this->reset();
		return $sheetData;
	}
	
	protected function prepararCarga(){
		$phpExcelPath = Yii::getPathOfAlias('ext.phpexcel.Classes');
		//Autoload de yii hace conflicto con autoload de phpexcel
		spl_autoload_unregister(array('YiiBase','autoload'));
		include($phpExcelPath . DIRECTORY_SEPARATOR . '/PHPExcel/IOFactory.php');		
	
	}
	
	protected function reset(){
		spl_autoload_register(array('YiiBase','autoload'));
	}
	
	protected  function mensajeError($texto,$linea){
		return $texto.' '.' en linea:'.$linea;
	}
	
}
